#include<stdio.h>
#include<sys/types.h>
#include <sys/stat.h>
#include<fcntl.h>
#include<errno.h>
#include<string.h>
#include<unistd.h>
#define LOG "log.txt"

int main()
{
  umask(0);//umaskshezhiwei0
  int fd=open(LOG,O_RDONLY  ,0666);
  if(fd==-1)
  {
    printf("fd:%d,errno:%d,errstring:%s\n",fd,errno,strerror(errno));
  }
  char buffer[1024];
  //这里我们无法做到按行读取，我们是整体读取
  ssize_t n=read(fd,buffer,sizeof(buffer-1));//使用系统接口来进行io时，一定要注意'/0'问题
  if(n>0)
  {
    buffer[n]='\0';
    printf("%s\n",buffer);
  }
//  const char* msg="aaaaaaaaaaaaaaaa";
//  int cnt=1;
//  while(cnt)
//  {
//   char line[128];
//   snprintf(line,sizeof(line),"%s,%d\n",msg,cnt);
//   write(fd,line,strlen(line));//这里的strlen不要+1，\0是c语言的规定，不是文件的规定
//   cnt--;
//  }
//  close(fd);
//  return 0;
}
////#define LOG "log.txt"
//int main()
//{//默认只是打开文件，文件内容会自动被清空
//  //每次写入，都会从最开始进行写入
// //a:不会清空文件，而是从文件末尾追加 
//  FILE*fp=fopen(LOG,"a");
//  if (fp==NULL)
//  {
//    perror("fopen");
//    return 1;
//  }
// //const char* msg="hello,world";
// // int cnt =5;
//  //binwhile(cnt)
//  //{
//  //  fprintf(stdout,"%s:%d:zll\n",msg,cnt);
//  //  fputs(msg,fp);
// //   char buffer[255];
//   // snprintf(buffer,sizeof(buffer),"%s:%d:zll\n",msg,cnt);
//    //printf("%s",buffer);
//    //binfputs(buffer,fp);
//  //cnt--;
//  //}
//
//
//
//  fclose(fp);
//  return 0;
//}
